<?php
/**
 * Script para guardar un nuevo comentario enviado desde el frontend.
 * Este script es invocado con ajax, por eso es necesario devolver una
 * respuesta json al cliente.
 * 
 * @author Sahib J. Leo
 */
require 'config.php';
require PATH . 'classes/ofj-orm/Comentario.php';

$Response = (object)array(
  'error'   => false,
  'message' => '',
);

// Cargar el archivo de strings
Lang::setSource('comments');

// Validar los datos del comentario
$nombre     = trim($_POST['nombre']);
$email      = trim($_POST['email']);
$comentario = trim($_POST['comentario']);

if( $nombre == '' || $email == '' || $comentario == '' ){
  $Response->error = true;
  $Response->message = Lang::get('input_required');
} else {
  // Insertar el comentario en la base de datos
  try{
    $Comentario = new Comentario();
    $Comentario->estado     = 'E';
    $Comentario->email      = $email;
    $Comentario->usuario    = $nombre;
    $Comentario->comentario = $comentario;
    $Comentario->fecha = new SahORMSQLExpression('NOW()');

    if($_POST['type'] == 'evento'){
      $Comentario->evento_id = $_POST['source_id'];
    } else {
      $Comentario->noticia_id = $_POST['source_id'];
    }

    $Comentario->save();

    $Response->message = Lang::get('saved');

  } catch(SahORMException $e){
    $Response->error = true;
    $Response->message = Lang::get('save_error');
  }
}

// Enviar respuesta JSON al cliente
header('Content-Type:application/json;charset=utf-8');
echo json_encode($Response);
?>